package com.infore.qualityControl.remoteService;

import java.util.List;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.infore.qualityControl.util.ResultEntity;

/**
 * 数据接收服务远程接口
 * 
 * @author Cold
 *
 */
@FeignClient(name="DataReceiving-Service",url="localhost:61001/DataReceiving-Service/")
public interface IDataReceivingService {

	/** 获取零点核查初始数据 **/
	@RequestMapping(value = "queryZeroCheckData", method = RequestMethod.GET)
	ResultEntity queryZeroCheckData(@RequestParam("factorCode") String factorCode);

	/** 获取跨度核查初始数据 **/
	@RequestMapping(value = "querySpanCheckData", method = RequestMethod.GET)
	ResultEntity querySpanCheckData(@RequestParam("factorCode") String factorCode);
	
	/** 获取实时分钟初始数据 **/
	@RequestMapping(value = "queryNoFlagRealData", method = RequestMethod.GET)
	ResultEntity queryNoFlagRealData();

	/** 获取加标回收率初始数据 **/
	@RequestMapping(value = "queryRecoveryData", method = RequestMethod.GET)
	ResultEntity queryRecoveryData();
	
	/** 获取核查初始数据 **/
	@RequestMapping(value = "queryCheckData", method = RequestMethod.GET)
	ResultEntity queryCheckData();
	
	/** 获取日志与状态量数据 **/
	@RequestMapping(value = "queryLogStatusData", method = RequestMethod.GET)
    ResultEntity queryLogStatusData(@RequestParam("mn") String mn, @RequestParam("beginTime") String beginTime, @RequestParam("endTime") String endTime, 
			@RequestParam("logType") String logType, @RequestParam("pageNumber") Integer pageNumber, @RequestParam("pageSize") Integer pageSize);
	
	/** 更新零点核查数据 **/
	@RequestMapping(value = "updateZeroCheckData", method = RequestMethod.POST)
	ResultEntity updateZeroCheckData(@RequestBody List<String> list);
	
	/** 更新跨度核查数据 **/
	@RequestMapping(value = "updateSpanCheckData", method = RequestMethod.POST)
	ResultEntity updateSpanCheckData(@RequestBody List<String> list);
	
	/** 更新实时分钟数据 **/
	@RequestMapping(value = "updateRealData", method = RequestMethod.POST)
	ResultEntity updateRealData(@RequestBody List<String> list);
	
	/** 更新加标回收数据 **/
	@RequestMapping(value = "updateRecoveryData", method = RequestMethod.POST)
	ResultEntity updateRecoveryData(@RequestBody List<String> list);
	
	/** 更新标样核查数据 **/
	@RequestMapping(value = "updateCheckData", method = RequestMethod.POST)
	ResultEntity updateCheckData(@RequestBody List<String> list);
	
	/** 获取实时数据水质等级排名 **/
	@RequestMapping(value = "queryRealTimeWaterQualitySort", method = RequestMethod.GET)
	ResultEntity queryRealTimeWaterQualitySort(@RequestParam("mn") String mn);
}
